Text copied to clipboard!

Titolo

Text copied to clipboard!

Programmatore di sistemi

Descrizione

Text copied to clipboard!
Stiamo cercando un Programmatore di sistemi altamente qualificato e motivato da inserire nel nostro team tecnologico per progettare, sviluppare, testare e mantenere software di basso livello destinato a sistemi operativi, driver, strumenti di rete, componenti embedded e infrastrutture ad alte prestazioni. La figura ideale possiede una solida comprensione dell’architettura dei calcolatori, della gestione della memoria, della concorrenza, dei processi di compilazione e delle interazioni tra hardware e software. Questo ruolo è fondamentale per garantire affidabilità, efficienza, sicurezza e scalabilità delle piattaforme su cui si basano applicazioni e servizi critici. Il Programmatore di sistemi collaborerà con ingegneri software, amministratori di sistema, specialisti DevOps, team di sicurezza e responsabili di prodotto per tradurre requisiti tecnici e operativi in soluzioni robuste e performanti. Le attività comprenderanno lo sviluppo di moduli software vicini al sistema operativo, l’analisi delle prestazioni, il debugging avanzato, l’ottimizzazione dell’uso delle risorse e la risoluzione di problemi complessi in ambienti Linux, Unix o multipiattaforma. Sarà inoltre coinvolto nella scrittura di codice pulito, documentato e manutenibile, seguendo standard di qualità elevati e pratiche di sviluppo moderne. La persona selezionata dovrà essere in grado di lavorare con linguaggi come C e C++, comprendere script di automazione, utilizzare strumenti di profiling e debugging, e contribuire al miglioramento continuo dell’infrastruttura software. Una particolare attenzione sarà dedicata alla stabilità del sistema, alla gestione degli errori, alla sicurezza del codice e alla compatibilità tra versioni e ambienti differenti. In molti casi, il ruolo richiederà anche la lettura di documentazione tecnica approfondita, l’analisi di log di sistema e l’intervento su componenti critici con impatto diretto sulle prestazioni complessive. Cerchiamo una persona analitica, precisa e orientata alla risoluzione dei problemi, capace di affrontare sfide tecniche complesse con metodo e autonomia. È importante avere una mentalità collaborativa, buone capacità comunicative e disponibilità a confrontarsi con team multidisciplinari. L’esperienza in ambienti ad alta affidabilità, sistemi distribuiti, virtualizzazione, networking o sviluppo embedded costituirà un vantaggio significativo. Offriamo un contesto professionale dinamico, con opportunità di crescita tecnica, accesso a progetti innovativi e possibilità di contribuire in modo concreto alla costruzione di soluzioni software fondamentali per il funzionamento di piattaforme moderne. Se sei appassionato di programmazione di basso livello, ottimizzazione delle prestazioni e progettazione di sistemi affidabili, questo ruolo rappresenta un’eccellente opportunità per mettere a frutto le tue competenze e svilupparne di nuove in un ambiente stimolante e tecnologicamente avanzato.

Responsabilità

Text copied to clipboard!
  • Progettare e sviluppare componenti software di basso livello per sistemi operativi e piattaforme infrastrutturali.
  • Analizzare e ottimizzare prestazioni, consumo di memoria e utilizzo delle risorse di sistema.
  • Eseguire debugging avanzato di problemi complessi relativi a processi, thread, I/O e rete.
  • Collaborare con team DevOps, sicurezza e sviluppo applicativo per integrare soluzioni affidabili.
  • Scrivere codice efficiente, documentato e manutenibile secondo standard di qualità condivisi.
  • Implementare test, strumenti diagnostici e procedure di monitoraggio per componenti critici.
  • Gestire la compatibilità tra versioni software, librerie, kernel e ambienti differenti.
  • Contribuire alla documentazione tecnica e alla revisione del codice all’interno del team.

Requisiti

Text copied to clipboard!
  • Esperienza nello sviluppo in C e/o C++ in ambienti Linux o Unix.
  • Conoscenza approfondita di sistemi operativi, gestione della memoria e concorrenza.
  • Capacità di utilizzare strumenti di debugging, profiling e analisi delle prestazioni.
  • Comprensione di processi di compilazione, linking, librerie statiche e dinamiche.
  • Esperienza con scripting di automazione, ad esempio Bash o Python.
  • Conoscenza di protocolli di rete, file system e interazione hardware-software.
  • Attitudine analitica e capacità di risolvere problemi tecnici complessi in autonomia.
  • Buona conoscenza dell’inglese tecnico per leggere documentazione e specifiche.
  • Esperienza con sistemi embedded, virtualizzazione o containerizzazione considerata un plus.

Domande potenziali per l'intervista

Text copied to clipboard!
  • Qual è la tua esperienza nello sviluppo di software di basso livello?
  • Hai lavorato su sistemi Linux, Unix o ambienti embedded?
  • Quali linguaggi di programmazione utilizzi con maggiore sicurezza in ambito sistemistico?
  • Hai esperienza nel debugging di problemi legati a memoria, thread o prestazioni?
  • Quali strumenti di profiling o analisi delle prestazioni hai utilizzato?
  • Hai mai sviluppato o mantenuto driver, moduli kernel o servizi di sistema?
  • Come affronti la scrittura di codice sicuro e affidabile in contesti critici?
  • Hai esperienza nella collaborazione con team DevOps, sicurezza o infrastruttura?